package chapter14.interfaces;

/**
 * @author : DuJiabao
 * @Date : 2021/3/4 9:54
 * @Project : thinking_in_java
 * @File : null.java
 * @Desc :
 */
public class InnerImplementation {
  public static void main(String[] args) throws Exception {
    A a = InnerA.makeA();
    a.f();
    System.out.println(a.getClass().getName());
    // 无比强大的反射，就算是私有内部类的方法，不需要强转也可以直接调用方法！！
    HiddenImplementation.callHiddenMethod(a, "g");
    HiddenImplementation.callHiddenMethod(a, "u");
    HiddenImplementation.callHiddenMethod(a, "v");
    HiddenImplementation.callHiddenMethod(a, "w");
  }
}
